package com.guldan.jaina.provider;

import com.guldan.core.dubbo.client.ResponseDTO;
import com.guldan.core.search.Pagination;
import com.guldan.jaina.dto.gauthority.GAuthorityDTO;
import com.guldan.jaina.dto.users.*;

import java.util.List;

/**
 * Created by Silas.
 * Date: 2016/11/18
 * Time: 23:44
 */
public interface IUserProvider {

    //分页获取用户列表
    ResponseDTO<Pagination<UsersDTO>> userListByPage(UsersSearchDTO var1);

    //获取某个用户的信息，传入：userid
    ResponseDTO<UsersDTO> userGet(Integer var1);

    //新增/保存某个用户的信息
    ResponseDTO<UsersDTO> userSave(UsersDTO var1);

    //获取某个用户的角色列表
    ResponseDTO<List<UserRoleDTO>> userRoleList(Integer var1);

    //删除某个用户的角色，传入：userid，roleId
    ResponseDTO<List<UserRoleDTO>> userDeleteRole(Integer var1, Integer var2);

    //修改某个用户的角色列表
    ResponseDTO<List<UserRoleDTO>> userSaveRole(UserRoleSaveDTO var1);

    //修改密码接口
    ResponseDTO<Boolean> userUpdatePwd(UserPwdUpdateDTO var1);

    //删除用户
    ResponseDTO<Boolean> userDelete(Integer var1);

    //获取某个用户的登录缓存实体
    ResponseDTO<UserCacheDTO> getUserCache(String JSESSIONID);
}
